package cn.biplam.front.template.control;

import cn.biplam.common.wrapper.ErrorMessage;
import cn.biplam.common.wrapper.UserInfo;
import cn.biplam.front.component.data.common.ButtonComp;
import cn.biplam.front.html.HtmlDiv;
import cn.biplam.front.html.base.HtmlWindow;
import cn.biplam.front.html.base.Const.Float_Type;
import cn.biplam.front.html.base.Const.Window_Event;

/**
 * 	文本/输入框后加入操作按钮—模版 <br>
 * 当在HtmlWindow对象中的元素是右边为内容区域左边为按钮的情况<br>
 * <ul>用法：
 * <li> new OperatorText("页面ID","用户信息")  创建模版
 * 	   <li> this.putButton("按钮标题ID","按钮点击事件脚本") 放入界面按钮
 * 	   <li> this.putContent("内容区域对象")               放入主内容区对象
 * <li> this.get()                                  获取模版界面 
 * <li>
 * </ul>
 * @author XiaoRuxing 2009-7-8上午09:51:22
 * @version 1.0
 */
public class OperatorText {

	private HtmlDiv div;
	private HtmlWindow button;
	private UserInfo mUser;

	/**
	 * 创建模版
	 * @param ID   页面ID
	 * @param mUser 用户信息
	 */
	public OperatorText(String ID,UserInfo mUser){
		div = new HtmlDiv(ID);
		this.mUser = mUser;
	}

	/**
	 * 放入按钮
	 * @param captionID 按钮标题
	 * @param script  按钮脚本
	 * @throws ErrorMessage 
	 */
	public void putButton(String captionID,String script) throws ErrorMessage{
		this.button = ButtonComp.get(mUser, captionID);
		this.button.bind(Window_Event.OnClick, script);
	}

	/**
	 * 放入内容区域界面对象 
	 * @param content 
	 * @throws ErrorMessage
	 */
	public void putContent(HtmlWindow content) throws ErrorMessage{
		content.setFloat(Float_Type.Left);
		this.div.put(content);
	}

	/**
	 * 获取模版界面
	 * @return
	 * @throws ErrorMessage
	 */
	public HtmlWindow get() throws ErrorMessage{
		this.button.setFloat(Float_Type.Right);
		this.div.put(this.button);	
		return this.div;
	}
}
